#pragma once

#include <iostream>
#include <memory>
#include <unordered_map>

class Session
{
public:
    Session() {}
    ~Session() {}

private:
    std::string _user_name;
    std::string _passwd;
    int _status;
    std::uint16_t _login_time;
};

using sessin_ptr = std::unique_ptr<Session>;

class SessionManager
{
    SessionManager() {}
    ~SessionManager() {}

    std::string AddSession(std::string user_name, std::string passwd)
    {
    }

    bool DeleSession(std::string &session_id)
    {
    }

    void ModSession(std::string &session_id, sessin_ptr session)
    {
    }

    sessin_ptr SerchSession(std::string &session_id)
    {
    }

private:
    std::unordered_map<std::string, sessin_ptr> sessions;
};